-
Notifications
You must be signed in to change notification settings - Fork 121
feat: add support for SSL key logging #1532
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Conversation
Added support for an SSL key log file to facilitate debugging encrypted network traffic. Updated dependency `postman-request` to include the relevant SSL key logging feature.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Adds SSL key logging functionality to enable debugging of encrypted network traffic by allowing users to specify a file path for logging SSL session keys.
- Updated
postman-request
dependency to use a feature branch with SSL key logging support - Added
debug
option configuration that gets passed through the runner chain - Implemented SSL key log file path extraction and assignment to request options
Reviewed Changes
Copilot reviewed 5 out of 6 changed files in this pull request and generated 1 comment.
Show a summary per file
File | Description |
---|---|
package.json | Updated postman-request dependency to feature branch |
lib/runner/index.js | Added debug options to runner configuration |
lib/requester/requester-pool.js | Extracted SSL key log file path from debug options |
lib/requester/core.js | Assigned SSL key log file to request options |
README.md | Added documentation for debug.sslKeyLogFile option |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
lib/requester/core.js
Outdated
options.ciphers = protocolProfileBehavior.tlsCipherSelection.join(':'); | ||
} | ||
|
||
options.keyLog = defaultOpts.sslKeyLogFile; |
Copilot
AI
Oct 9, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The SSL key log file path is assigned directly without validation. Consider adding a check to ensure the path is a valid string before assignment to prevent potential issues with the underlying request library.
options.keyLog = defaultOpts.sslKeyLogFile; | |
if (typeof defaultOpts.sslKeyLogFile === 'string' && defaultOpts.sslKeyLogFile.length > 0) { | |
options.keyLog = defaultOpts.sslKeyLogFile; | |
} |
Copilot uses AI. Check for mistakes.
network: _.get(options, 'network', {}), | ||
maxHeaderSize: _.get(options, 'requester.maxHeaderSize', 131072) // 128KB | ||
maxHeaderSize: _.get(options, 'requester.maxHeaderSize', 131072), // 128KB | ||
sslKeyLogFile: _.get(options, 'debug.sslKeyLogFile') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think its okay to accept sslKeyLogFile as a requester
option - debug
generally gives the impression that it is not supposed to be used in a production environment, or is like a non-standard feature.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's add a sanity test that the option is getting respected correctly by runtime
Added support for an SSL key log file to facilitate debugging encrypted network traffic. Updated dependency
postman-request
to include the relevant SSL key logging feature.